using MediatR;
using S.O.ErrorCode;
using S.O.Domain.Dto.Output;

namespace S.O.Api.Read.Application.Command.Medical
{
    /// <summary>
    /// 获取未付费患者列表命令
    /// 用于门诊收费页面显示需要收费的患者信息
    /// </summary>
    public class GetUnpaidPatientsCommand : IRequest<APIResult<List<UnpaidPatientDto>>>
    {
        /// <summary>
        /// 页码，默认为1
        /// </summary>
        public int PageIndex { get; set; } = 1;
        
        /// <summary>
        /// 页大小，默认为50
        /// </summary>
        public int PageSize { get; set; } = 50;
        
        /// <summary>
        /// 挂单号查询条件（可选）
        /// </summary>
        public string? RegistrationNo { get; set; }
        
        /// <summary>
        /// 患者姓名查询条件（可选）
        /// </summary>
        public string? PatientName { get; set; }
        
        /// <summary>
        /// 科室查询条件（可选）
        /// </summary>
        public string? Department { get; set; }
    }
}